def bubble_sort(arr):
    """
    冒泡排序算法实现
    :param arr: 需要排序的列表
    :return: 排序后的列表
    """
    n = len(arr)
    # 遍历所有数组元素
    for i in range(n):
        # 最后 i 个元素已经在正确的位置上
        for j in range(0, n-i-1):
            # 如果当前元素大于下一个元素，则交换它们
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr

# 测试代码
if __name__ == "__main__":
    # 测试用例：指定数组
    test_array = [10, 12, 323, 32, 12, 42]
    print("测试用例 - 指定数组:")
    print("原始数组:", test_array)
   
    # 创建一个新的测试列表
    test_list = [10, 12, 323, 32, 12, 42]
    # 对test_list进行排序并打印结果
    print(bubble_sort(test_list))  # 将会输出: [10, 12, 12, 32, 42, 323]
    # 对之前定义的test_array进行排序并打印结果
    print(bubble_sort(test_array)) # 将会输出相同结果，因为test_array和test_list包含相同的元素
    

